Funnel analysis of the adoption of an application

ABSTRACT

A funnel approach is used to analyze the behavior of users in adopting a software application offered through an electronic store. The electronic store may include an electronic store client module that provides a virtual electronic store front to users interested in licensing software applications offered by the electronic store. The electronic store may utilize a server that stores the applications store as well as collect instrumentation data representing user&#39;s actions in progressing through the various stages of adoption.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation of application Ser. No. 13/182,461, U.S. Pat. No.8,892,727, filed on Jul. 14, 2011, and entitled, “FUNNEL ANALYSIS OF THEADOPTION OF AN APPLICATION”, the entirety of which is incorporated byreference.

BACKGROUND

The development of a software application involves a considerable amountof effort which may involve product definition, software design,programming, testing, product deployment, marketing, maintenance, and soon. Feedback from users utilizing the software application is importantfor the widespread use or adoption of the software application. Attimes, the software or product development team may lack insight into anuser's satisfaction and experience with the application once theapplication has been deployed.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

An electronic store may be used to license users a variety of softwareapplications. The electronic store may include a mechanism to track auser's behavior during the adoption of a software application. A funnelmay be used to identify the stages in the adoption process that aretracked. The electronic store tracks the user's actions through thehierarchical-ordered path which may then be viewed visually in the formof a funnel report. The funnel report provides a software or productdeveloper with a visual analysis of the user's activity at each stage.In this manner, the developer can quickly ascertain any bottleneckspreventing widespread adoption of the application and possible remedialactions.

These and other features and advantages will be apparent from a readingof the following detailed description and a review of the associateddrawings. It is to be understood that both the foregoing generaldescription and the following detailed description are explanatory onlyand are not restrictive of aspects as claimed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates an exemplary funnel showing the various stages of theadoption of an application.

FIG. 2 is a block diagram of an exemplary system for facilitating afunnel analysis of the adoption of an application.

FIG. 3 illustrates an exemplary process flow for facilitating a funnelanalysis of the adoption of an application.

FIG. 4 is a flow chart illustrating an exemplary method for facilitatinga funnel analysis of the adoption of an application.

FIG. 5 is an exemplary funnel report.

FIG. 6 is a block diagram illustrating an exemplary operatingenvironment.

FIG. 7 is a block diagram illustrating an exemplary client machine.

FIG. 8 is a block diagram illustrating an exemplary electronic storeserver.

DETAILED DESCRIPTION

Various embodiments are directed to a technology for automaticallyanalyzing the adoption of software applications provided from anelectronic store. The adoption of a software application involvesseveral stages starting with advertising the software application tousers through users purchasing goods and/or services offered by theapplication. Information regarding how users act at each stage providesa software and/or product developer with crucial information that may beused to improve the performance, marketability, user experience, andultimately the widespread adoption of the software application in themarketplace.

An electronic store may be used to license users a variety of softwareapplications. The software applications or applications may be any typeof executable instructions such as programs, procedures, modules,applications, code segments, program stacks, middleware, firmware,methods, routines, and so on. The applications may be operating systems,office suites, enterprise software, graphics software, video games,computer games, codecs, media players, accounting software, and so on.The electronic store may be composed of software components residing ona client machine and software components that reside on an electronicstore server. An electronic store client module may be provided in auser's client machine to provide an electronic store front. Theelectronic store server may be used to download the softwareapplications to the users as well as perform other functions andservices.

In an embodiment, a funnel may be used to identify the stages in theadoption process that are tracked. A funnel represents ahierarchical-ordered path of actions taken by a user in the adoption ofan application. The electronic store server stores instrumentation datarepresenting users' actions through the hierarchical-ordered path whichmay then be viewed visually in the form of a funnel report. The funnelreport provides a software or product developer with a visual analysisof users' activity at each stage. In this manner, the developer canquickly ascertain any bottlenecks preventing widespread adoption of theapplication and possible remedial actions.

FIG. 1 shows an exemplary funnel 100 focused on seven specific stagesthat occur during application adoption. Although FIG. 1 shows sevenstages in the application adoption process, it should be appreciatedthat the funnel 100 can include more or less stages in alternateconfigurations for a desired implementation.

In this example, the first stage 102 may be the stage where theapplication is discovered through an advertisement or reference in areferral source. A referral source may be any web-accessible source thatadvertises or references an application that may be licensed from theelectronic store. A referral source may be the electronic store or a webserver or search engine such as Bing.com, Google.com, or the like. Thefirst stage 102 may represent the number of times the application islisted in search results from any referral source.

The second stage 104 may represent accesses made by users to theelectronic store's application detail page. An application detail pagedescribes the application and may contain information pertaining to theapplication's features, operating requirements, performancecharacteristics, and so on. The application detail page may be a pagedisplayed by the electronic store client module 132 and/or may be a webpage that is accessible from a web server or search engine.

The third stage 106 may represent the users who have downloaded a trialversion of an application from the electronic store's application detailpage. The fourth stage 108 may represent the users who purchased alicense of the application. The fifth stage 110 may track the users whohave currently installed the application after having purchased alicense to the application. The fifth stage tracks the current installedbase of users as the difference between the number of users who havepurchased a license to the application and the number of users who haveuninstalled the application. As such, the fifth stage tracks the userswho have uninstalled the application in order to determine the number ofusers who have currently installed the application.

The sixth stage 112 may track how many users regularly use theapplication. The seventh stage 114 may track how may transactions madeby the users to goods and/or services that are offered by theapplication. An application may contain offers for goods or servicesthat a user may purchase during the execution of the application.

Referring to FIG. 1, there is shown a system 120 having an electronicstore server 122, a client machine 124, a computing device 126, a searchengine 128, and an analytics server 129, all coupled to a communicationsnetwork 130. The electronic store server 122 is part of the electronicstore and provides the applications that are offered to users as well asperform other functions and services described in more detail below. Theclient machine 124 contains an electronic store client module 132 thatprovides an electronic store front to a user. The computing device 126may be used by a software or product developer to query the server forfunnel reports. The search engine 128 provides a user with thecapability to search for software applications such as those offeredfrom the electronic store. The analytics server 129 monitors and tracksthe usage of the applications by a user. The communications network 130enables the electronic store server 122, client machine 124, computingdevice 126, search engine 128, and analytics server 129 to communicatewith each other.

The electronic store server 122, the client machine 124, the computingdevice 126, the search engine 128, and analytics server 129 may be anytype of electronic device capable of executing a sequence ofinstructions in a defined manner, such as, without limitation, awireless device, a personal digital assistant, a mobile computingdevice, a smart phone, a cellular telephone, a handset, a pager, amessaging device, a computer, a personal computer, a desktop computer, alaptop computer, a server, a web server, a server farm, a workstation, anotebook, laptop, a tablet PC, and any combination thereof. The server120, client machine 124, the computing device 126, search engine 128,and analytics server 129 may be a general purpose computing device or acustomized computing device, such as, a multi-processor system, a singleprocessor system, and a customized hardware device.

The electronic store server 122, the client machine 124, the computingdevice 126, the search engine 128, and analytics server 129 are incommunication with each other through a communication network 126 thatmay include any one or multiple types of wired and/or wirelesscommunications media which may involve the uni-directional orbi-directional exchange of information.

The client machine 124 may be used by an user to access the electronicstore. The client machine 124 may include an electronic store clientmodule 132, an application 137, and an analytics client module 139. Theelectronic store client module 132 acts as a virtual store front for theelectronic store. The electronic store client module 132 may be a thinclient software component that interacts with the electronic storeserver 122. The electronic store client module 132 interacts with theelectronic store server 122 to offer software applications to a user andto assist in the tracking of the adoption of the applications offeredthrough the electronic store.

A user using the electronic store client module 132 may request anapplication detail page 134 that contains more descriptive informationpertaining to an application 137. The application detail page 134 may bestored as part of the electronic store client module 132 in the clientmachine. Alternatively, the application detail page may be a web pagedownloaded from the electronic store server 122. The application detailpage 134 may contain a trial option 136 and/or a buy option 138. The buyoption 138 enables a user to license the application and the trialoption 136 enables a user to use the application 137 for a limited timeframe thereby obtaining a trial license.

The electronic store server 122 may include an electronic store servermodule 140, a licensing engine 141, an application database 142, acommerce engine 143, an instrumentation module 146, an instrumentationdatabase 148, an aggregation database 149, and a funnel query module150. The electronic store server module 140 interacts with theelectronic store client module 132 to download applications to the userand to store instrumentation data. The licensing engine 141 tracks thelicenses sold for each application and monitors each user's compliancewith the license terms. The application database 142 may store theapplications offered through the electronic store which may bedownloaded from the application database 142 to a user at a clientmachine. A commerce engine 143 may be used to facilitate the sale andpurchase of goods and/or services offered by an application, otherwisereferred to herein as in-application goods and services.

An instrumentation module 146 collects the instrumentation data which isstored in the instrumentation database 148. An aggregation database 149may be used to store data that is aggregated in accordance with adesired configuration. The funnel query module 150 interacts with adeveloper through the computing device 126 to prepare and generatefunnel reports. The funnel query module 150 queries data from theaggregation data base 149. In an embodiment, an aggregation module (notshown) may be used to, on a periodic basis, read data from theinstrumentation database 148, aggregate and store the aggregated datainto the aggregation data base 149.

Although the electronic store server 122 has a limited number ofelements in a certain configuration, it should be appreciated thatelectronic store server 122 may include more or less elements inalternate configurations. For example, the components of electronicstore server 122 may be arranged in a multiple server configurationwhere each server may perform the function of one or more of thecomponents of electronic store server 122. There may be a separatelicensing server providing the services of the licensing engine, aseparate commerce server providing the services of the commerce engine,and so forth. The embodiments are not limited in this manner.

A search engine 128 may be a computing device that searches forinformation on the Internet. The search engine 128 may be implemented asa web server, such as bing.com, google.com, yahoo.com, and the like. Thesearch engine 128 may be used to track how often an application appearsin search results.

The analytics server 129 interacts with the analytics client module 139to collect anonymous data pertaining to the usage of the applications bya user. Each analytics client module 139 sends the usage data to theanalytics server 129 on a regular basis and the analytics server 129consolidates this usage data and forwards it to the electronic storeserver 122.

FIG. 3 illustrates an exemplary process flow for system 120. In anembodiment, a user may utilize the electronic store client module 132 tobrowse and/or search for applications offered by the electronic store(block 160). The electronic store client module 132 may track thereferences to each application that appear in a user's search results(block 160). Alternatively, the user may utilize a search engine 128 tosearch for applications that are offered by the electronic store. Thesearch engine 128 may track the references to each application thatappears in a user's search results which may be provided to theelectronic store server module 140 (block 160).

The user may then browse the application detail page 134 pertaining to aparticular application (block 162). The application detail page 134 maydescribe the application and contain technical specifications, operatingrequirements, and the like. The electronic store client module 132 maytrack the application detail pages that a user browses (block 162).

An application detail page 134 may include a trial option 136 for a userto try the application for limited time duration or for limitedfunctionality. The trial option may be also be for limited functionalitywith no time duration. A user may select the trial option 136 which mayallow the user to obtain a trial license to the application for alimited time period or for limited functionality (block 164). Theelectronic store client module 132 may initiate the trial by contactingthe electronic store server module 140 to download a copy of theapplication. In addition, the electronic store server module 140 mayengage the licensing engine 141 to activate and monitor the triallicense of the application (block 164).

The application detail page 134 may include a buy option 138 for a userto purchase a license to the application (block 166). The license may befor a single user license and/or a multiple user license. The electronicstore client module 132 may initiate the purchase by contacting theelectronic store server module 140 to download a copy of the application137. The electronic store client module 132 receives the downloadedapplication which is then installed on the user's client machine 124.The electronic store server module 140 may engage the licensing engine141 to activate and monitor the license (block 166).

The data tracked by the electronic store client module 162, otherwisereferred to as the instrumentation data, may be forwarded to theelectronic store server 122 and processed by the instrumentation module146 and stored in the instrumentation database 148. The instrumentationdata may be forwarded periodically at random times, such as during idletimes, or routinely, such as prior to the user's logging off the clientmachine 124 or from the electronic store.

An analytics client module 139 may be used to track the user's usage ofan application (block 168). The analytics client module 139 may be partof the operating system or a standalone application or softwarecomponent. In an embodiment, the analytics client module 139 may be athin client module that interacts with an analytics server 129. Theanalytics client module may track the frequency that a user uses anapplication, the length of time that the application is used, the timesthat the application is used, and so on. The analytics client module 139interacts with the analytics server 129 to track and collect this usagedata. The analytics server 129 provides the tracked usage data to theelectronic store server 122 for storage in the instrumentation database148 through the instrumentation module 146. In an embodiment, theanalytics client module 139 and the analytics server 129 may be theReliability Analysis Component of the Microsoft Windows Server® 2008product.

At any point after the application is downloaded to the client machine124, the user may uninstall the application (block 170). The licensingengine 141 periodically monitors each user's compliance with the licenseterms of an application. The licensing engine 141 may detect that theapplication was uninstalled by the user which is tracked by theinstrumentation module 146 and this data may be stored in theinstrumentation database 148.

An application 137 may offer goods and services for purchase by a user(block 172). The application interacts with the commerce engine 143 tofacilitate the purchase of these goods and services (block 172). Thecommerce engine 143 may track the purchases made by users of anapplication and the tracked purchase data is provided to theinstrumentation module 146 and stored in the instrumentation database148 (block 172).

Attention now turns to a further discussion of operations for theembodiments with reference to various exemplary methods. It may beappreciated that the representative methods do not necessarily have tobe executed in the order presented, or in any particular order, unlessotherwise indicated. Moreover, various activities described with respectto the methods can be executed in serial or parallel fashion, or anycombination of serial and parallel operations. The methods can beimplemented using one or more hardware elements and/or software elementsof the described embodiments or alternative embodiments as desired for agiven set of design and performance constraints. For example, themethods may be implemented as logic (e.g., computer programinstructions) for execution by a logic device (e.g., a general-purposeor specific-purpose computer).

FIG. 4 illustrates a flow chart of an exemplary method for automaticallyperforming a funnel analysis of an application's adoption. In anembodiment, the client machine 124, the computing device 126, theelectronic store server 122, the search engine 128 and the analyticsserver 129 may operate in parallel. It should be noted that the methodmay be representative of some or all of the operations executed by oneor more embodiments described herein and that the method can includemore or less operations or operate in a different order than that whichis described in FIG. 4.

At the client machine 124 (block 180), a user may activate theelectronic store (block 180). In an embodiment, the electronic store maybe part of another application, such as an operating system, an emailservice, a Windows Live® service, and so forth. As such, the electronicstore client module 132 may already be loaded onto the user's clientmachine 124 or alternatively may be downloaded upon activation of anassociated service (e.g., Windows Live®). The user may activate theelectronic store through the associated service or application.

In another embodiment, the user may register directly with theelectronic store using a web browser that accesses the electronic storeserver 122. After registration with the electronic store server 122, theelectronic store server 122 may download the electronic store clientmodule 132 to the client machine 124. The user interacts thereafterthrough the electronic store client module 132. The electronic storeclient module 132 may generate one or more menus that enable a user toutilize the electronic store.

In an embodiment, access to the electronic store may be facilitatedthrough a user account. When registering for the user account, the usermay provide consumer data such as gender, age, and geographic region,and the like. Anonymous consumer data may be used to study the behaviorof the user with respect to a particular application.

The user may utilize the electronic store client module 132 to searchfor applications, browse application detail pages, opt for trials of anapplication, purchase licenses to an application, download and installan application, uninstall an application, and use the application (block180). The electronic store client module 132 tracks certain user actionsassociated with the user's adoption of an application which areforwarded to the electronic store server 122 (block 180).

The search engine 128 tracks references to applications 137 that areoffered through the electronic store from various user search results(block 182). The search engine 128 forwards the tracked references tothe electronic store server 122 upon request, routinely, or as desired.

The computing device 126 may be used by a software developer, productdeveloper, market analyst or other party to request a funnel analysis ofthe adoption of an application (block 184). The request may specify thatthe instrumentation data that the funnel should include, the particularstages of the funnel that are of interest, and any other configurationthat is of interest to the developer. For example, the request mayspecify that the funnel analysis be made respect to users of aparticular age group, within a particular geographic region, and so on.

The analytics server 129 interacts with each analytics client module 139on each client machine 124 to track usage of the applications executingon the client machine 124 (block 186). The analytics server 129consolidates the anonymous usage data and forwards the data to theelectronic store server 122.

The electronic store server 122 interacts with the client machine 124 todownload applications to the electronic store client module 132, tofacilitate e-commerce transactions, to license applications, and tomonitor the license usage (block 188). The electronic store server 122interacts with the electronic store client module 132 through anelectronic store server module 140. The electronic store server module140 receives instrumentation data and utilizes the instrumentationmodule 146 to store the instrumentation data in the instrumentationdatabase 148. The electronic store server module 140 utilizes thecommerce engine 143 to facilitate transactions for goods and/or servicesoffered by an application. The electronic store server module 140utilizes the licensing engine 141 to track the licenses granted to eachuser of an application and to monitor each user's compliance with suchlicenses.

The electronic store server 122 interacts with the analytics server 129to store the tracked usage data. The electronic store server module 140receives the tracked usage data which the instrumentation module 146stores in the instrumentation database 148. The electronic store server122 interacts with the search engine 128 to store the tracked referencesof an application that appear in search results. The electronic storeserver module 140 receives the tracked reference data which theinstrumentation module 146 stores in the instrumentation database 148.The electronic store server 122 interacts with a developer, through thecomputing device 126, to receive requests for a funnel analysis of anapplication.

FIG. 5 illustrates an exemplary funnel report 190 showing the adoptionof the application with respect to the stages indentified in the funnel.As shown in FIG. 5, each of the seven stages is listed in hierarchicalorder on the horizontal axis and the number of users is shown on thevertical axis. The funnel report 190 illustrates the progression of theadoption of the application. Initially, the application was referencedin referral sources to 400 users. Only 250 users viewed the applicationdetail page and of those 250 users only 100 opted for a trial version ofthe application. Approximately 35 users purchased a license to theapplication and installed the application. Approximately 20 usersactively use the application and only a handful of users have purchasedgoods and services offered from within the application.

The funnel report 190 provides a developer of the software applicationwith a view of the user's behavior in adopting the application in orderto identify any problems affecting the widespread adoption of theapplication. For example, if the funnel report 190 shows that referencesto the application in the discovery stage is low (i.e. first stage),then the developer may focus on marketing the application more at thevarious referral sources. If the funnel report 190 shows that the numberof users viewing an application detail page 134 is low (i.e., secondstage), then the developer may focus additional efforts on improving thepath from the referral sources to the application detail page 134.

If the funnel report 190 shows that the number of trials or purchases oflicenses to the application is low, then the developer may improve theapplication detail page 134. If the funnel report 190 shows a largenumber of users are opting to try the application but do notsubsequently purchase a license to the application, then the applicationitself may be an issue. If the funnel report 190 shows that a largenumber of purchasers of a license are not installing the application,then the developer may focus additional efforts on improving theapplication itself. Likewise, if the funnel report 190 shows that alarge number of installers are not using the application, it may be dueto the quality of the features in the application or that theapplication may be outdated which the developer may improve upon. If thefunnel report 190 shows that the number of transactions made toapplication offerings is low, the developer may consider reducing thecost of the offerings or consider different offerings.

Attention now turns to a description of an exemplary operatingenvironment. Referring now to FIG. 6, there is shown a schematic blockdiagram of an exemplary operating environment 200. The operatingenvironment 200 may include one or more client(s) 202 in communicationthrough a communications framework 204 with one or more server(s) 206.In an embodiment, a client 202 may be configured to use documents ordata stored in a client data store 206 and the client 202 may beimplemented as the client machine 124. In an embodiment, a server 206may be configured to use documents or data stored in a server data store210. In an embodiment, the server 206 may receive requests from one ormore clients 202 to access the documents and data stored therein. In anembodiment, the server 206 may be implemented as the electronic storeserver 122 of the electronic store.

A client 202 may be embodied as a hardware device, a software module, oras a combination thereof. Examples of such hardware devices may include,but are not limited to, a computer (e.g., server, personal computer,laptop, etc.), a cell phone, a personal digital assistant, or any typeof computing device, and the like. A client 202 may also be embodied asa software module having instructions that execute in a single executionpath, multiple concurrent execution paths (e.g., thread, process, etc.),or in any other manner

A server 206 may be embodied as a hardware device, a software module, oras a combination thereof. Examples of such hardware devices may include,but are not limited to, a computer (e.g., server, personal computer,laptop, etc.), a cell phone, a personal digital assistant, or any typeof computing device, and the like. A server 206 may also be embodied asa software module having instructions that execute in a single executionpath, multiple concurrent execution paths (e.g., thread, process, etc.),or in any other manner

The communications framework 204 facilitates communications between theclient 202 and the server 206. The communications framework 204 mayembody any type of communications medium, such as wired or wirelessnetworks, utilizing any communication protocol.

Referring to FIG. 7, a client machine 124 may have a processor 222, amemory 224, and a network interface 226. The processor 222 may be anycommercially available processor and may include dual microprocessorsand multi-processor architectures. The network interface 226 facilitateswired or wireless communications between the client machine 124 and acommunications network 130 in order to provide a communications pathbetween the client machine 124 and the electronic store server 122.

The memory 224 may be any computer-readable storage media orcomputer-readable media that may store processor-executableinstructions, procedures, applications, and data. The computer-readablemedia does not pertain to propagated signals, such as a modulated datasignal transmitted through a carrier wave. It may be any type of memorydevice (e.g., random access memory, read-only memory, etc.), magneticstorage, volatile storage, non-volatile storage, optical storage, DVD,CD, floppy drive, disk drive, flash memory, and the like. The memory 224may also include one or more external storage devices or remotelylocated storage devices. The memory 224 may contain instructions anddata as follows:

-   -   an operating system 228;    -   an electronic store client module 132;    -   one or more applications 137;    -   an analytics client module 139; and    -   various other applications and data 230.

Referring to FIG. 8, an electronic store server 122 may have a processor240, a memory 242, and a network interface 246. The processor 240 may beany commercially available processor and may include dualmicroprocessors and multi-processor architectures. The network interface244 facilitates wired or wireless communications between the electronicstore server 122 and a communications network 130 in order to provide acommunications path between a client machine 124 and the electronicstore server 122.

The memory 242 may be any computer-readable storage media orcomputer-readable media that may store processor-executableinstructions, procedures, applications, and data. The computer-readablemedia does not pertain to propagated signals, such as a modulated datasignal transmitted through a carrier wave. It may be any type of memorydevice (e.g., random access memory, read-only memory, etc.), magneticstorage, volatile storage, non-volatile storage, optical storage, DVD,CD, floppy drive, disk drive, flash memory, and the like. The memory 242may also include one or more external storage devices or remotelylocated storage devices. The memory 242 may contain instructions anddata as follows:

-   -   an operating system 246;    -   an electronic store server module 140;    -   a licensing engine 141;    -   application database 142;    -   commerce engine 143;    -   instrumentation module 146;    -   instrumentation database 148;    -   an aggregation database 149;    -   funnel query module 150; and    -   other applications and data 248.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

For example, various embodiments of the system may be implemented usinghardware elements, software elements, or a combination of both. Examplesof hardware elements may include devices, components, processors,microprocessors, circuits, circuit elements, integrated circuits,application specific integrated circuits, programmable logic devices,digital signal processors, field programmable gate arrays, memory units,logic gates and so forth. Examples of software elements may includesoftware components, programs, applications, computer programs,application programs, system programs, machine programs, operatingsystem software, middleware, firmware, software modules, routines,subroutines, functions, methods, procedures, software interfaces,application program interfaces, instruction sets, computing code, codesegments, and any combination thereof. Determining whether an embodimentis implemented using hardware elements and/or software elements may varyin accordance with any number of factors, such as desired computationalrate, power levels, bandwidth, computing time, load balance, memoryresources, data bus speeds and other design or performance constraints,as desired for a given implementation.

Some embodiments may comprise a storage medium to store instructions orlogic. Examples of a storage medium may include one or more types ofcomputer-readable storage media capable of storing electronic data,including volatile memory or non-volatile memory, removable ornon-removable memory, erasable or non-erasable memory, writeable orre-writeable memory, and so forth. Examples of the logic may includevarious software components, such as programs, procedures, module,applications, code segments, program stacks, middleware, firmware,methods, routines, and so on. In an embodiment, for example, acomputer-readable storage medium may store executable computer programinstructions that, when executed by a processor, cause the processor toperform methods and/or operations in accordance with the describedembodiments. The executable computer program instructions may beimplemented according to a predefined computer language, manner orsyntax, for instructing a computer to perform a certain function. Theinstructions may be implemented using any suitable high-level,low-level, object-oriented, visual, compiled and/or interpretedprogramming language.

In various embodiments, the system described herein may comprise acomputer-implemented system having multiple components, programs,procedures, modules. As used herein these terms are intended to refer toa computer-related entity, comprising either hardware, a combination ofhardware and software, or software. For example, a component may beimplemented as a process running on a processor, a hard disk drive,multiple storage drives (of optical and/or magnetic storage medium), anobject, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on aserver and the server may be a component. One or more components mayreside within a process and/or thread of execution, and a component maybe localized on one computer and/or distributed between two or morecomputers as desired for a given implementation. The embodiments are notlimited in this manner

Although the electronic store described herein has been described toproviding software applications, the technology may be used to provideother types of electronic data, such as without limitation, digitalvideo, digital music, e-books, and the like.

What is claimed:
 1. A method implemented on a computing device, themethod comprising: distributing a first module to at least one or moreusers, the first module allows the at least one or more users tointeract with an electronic store; offering at least one application fordistribution to the at least one or more users from the electronicstore; receiving a first set of instrumentation data associated withuser actions from the at least one or more users, the first set ofinstrumentation data pertaining to user actions in adoption of the atleast one application tracked from the first module; and aggregating thefirst instrumentation data into a funnel, the funnel used to represent ahierarchical-ordered path of actions taken by multiple users in adoptionof the at least one application, the funnel including a plurality ofstages, each of the tracked user actions associated with at least onestage of the funnel.
 2. The method of claim 1, further comprising:receiving a second set of instrumentation data that pertains to useractions incurred during usage of the application; and aggregating thesecond set of instrumentation data into the funnel, wherein each useraction associated in the second set of instrumentation data isassociated with at least one stage of the funnel.
 3. The method of claim1, further comprising: monitoring usage of licenses associated with theapplication; and aggregating the usage of licenses associated with theapplication into the funnel.
 4. The method of claim 1, furthercomprising: receiving a third set of instrumentation data from a searchengine, the third set of instrumentation data pertaining to referencesassociated with the application from search results; and aggregating thethird set of instrumentation data into the funnel.
 5. The method ofclaim 1, further comprising: monitoring purchases of goods and servicesassociated with the application; and aggregating the purchases of thegood and services into the funnel.
 6. The method of claim 1, wherein theplurality of stages includes one or more of a discovery state, anapplication detail view stage, a trial stage, a purchase of licensestage, an installed users stage, active users stage and in-apptransaction stage.
 7. The method of claim 1, further comprising:formulating a funnel report configured in response to a request for oneor more of the stages.
 8. A system, comprising: at least one processorand a memory, the memory including: an application for distribution toat least one user; a first module that interacts with the at least oneuser to service requests pertaining to the application from the at leastone user; a second module that obtains a first set of tracked dataassociated with user actions performed in adoption of the application,the first set of tracked data analyzed to formulate a funnel, the funnelrepresents a hierarchical-ordered path of actions taken by multipleusers in adoption of the application, the funnel including one or morestages, each user action associated with at least one stage of a funnel;and a third module that aggregates the first set of tracked data into afunnel report, the funnel report aggregating the first set of trackeddata in accordance with the stages for all users of the application. 9.The system of claim 8, further comprising: a funnel query module thatobtains a request for a specific configuration of a select funnelreport.
 10. The system of claim 8, further comprising: a licensingengine that tracks user actions in uninstalling the application; whereinthe third module aggregates the user actions in uninstalling theapplication into the funnel report.
 11. The system of claim 8, whereinthe first module distributes a client module that tracks the useractions performed in adoption of the application from a client deviceassociated with the at least one user.
 12. The system of claim 8,wherein the tracked data is obtained from an analytic server incommunication with the at least one user.
 13. The system of claim 8,wherein the second module receives a second set of tracked data that isassociated with references to the application from a referral source,wherein the third module aggregates the second set of tracked data inthe funnel report.
 14. The system of claim 8, wherein the stages of thefunnel report includes one or more of: user actions taken by whileviewing an application detail page associated with the application; useractions taken in opting for a trial of the application; user actionstaken in purchasing a license to the application; user actions taken ininstalling the application; user actions taken in uninstalling theapplication; and user actions taken in purchasing goods or serviceoffered during execution of the application.
 15. A device comprising: atleast one processor and a memory; the at least one processor configuredto: configure an electronic store to license one or more applicationsfor distribution to one or more external users; distribute an electronicclient module to the one or more external users; receive from the one ormore external users instrumentation data including user actions madewith the electronic store and in adoption of the application, theinstrumentation data tracked from an electronic client module; andaggregate the instrumentation data into a funnel, the funnel including ahierarchical-ordered path of actions taken by multiple users in adoptionof the application, the funnel including one or more stages, each useraction associated with at least one stage of a funnel.
 16. The device ofclaim 15, wherein the at least one processor is further configured to:configure a funnel report to represent a particular age group of usersor a particular geographic region of users.
 17. The device of claim 15,wherein the at least one processor is further configured to: configurethe funnel to include user actions representing one or more of: useractions that opt in for a trial of the application; user actions thattake a license to the application; user actions that install theapplication; user actions that uninstall the application; and useractions taken in purchasing goods or service offered during execution ofthe application.
 18. The device of claim 15, wherein the at least oneprocessor is configured to: track status of licenses for theapplication; and aggregate the status of the licenses into the funnel.19. The device of claim 15, further wherein the at least one processoris configured to: receive a second set of instrumentation data, thesecond set of instrumentation data including references to theapplication from a referral source; and aggregate the second set ofinstrumentation data into the funnel.
 20. The device of claim 15,wherein the at least one processor is configured to: track purchases ofgoods and services offered from the electronic store; and aggregate thepurchases of the goods and services into the funnel.